Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Interface Builder</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Interface_Builder"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Interface_Builder rootpage-Interface_Builder skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Interface Builder</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr">
<div class="infobox_v3 infobox infobox--frwiki noarchive" style="width:260px">
<div class="entete icon informatique" style="color: #000000;"><style data-mw-deduplicate="TemplateStyles:r228712691">
/* start https://fr.wikipedia.org/ */


.mw-parser-output .entete.informatique{background-image:url("./_mw_/Picto.nfo.png")}


/* end https://fr.wikipedia.org/ */
</style>
<div>Interface builder</div>
</div>
<div class="images">
</div>
<p class="mw-empty-elt">

</p>
<table><caption style="color:#000000;">Informations</caption>



<tbody><tr>
<th scope="row"><a href="D%C3%A9veloppeur" title="Développeur">Développé par</a></th>
<td>
<a href="Apple" title="Apple">Apple</a></td>
</tr>





<tr>
<th scope="row"> <a href="Version_d'un_logiciel" title="Version d'un logiciel">Dernière version</a>
</th>
<td>
Intégré à Xcode 4.2 (<time class="nowrap" datetime="2011-10-12" data-sort-value="2011-10-12">12 octobre 2011</time>)</td>
</tr>


















<tr>
<th scope="row"><a href="Plateforme_informatique" title="Plateforme informatique">Environnement</a></th>
<td>
<a href="Mac_OS_X" class="mw-redirect" title="Mac OS X">Mac OS X</a></td>
</tr>



<tr>
<th scope="row"><a href="Format_de_donn%C3%A9es" title="Format de données">Formats</a> lus</th>
<td>
<span class="wd_p1072">NIB File Format <small>(<a href="https://www.wikidata.org/wiki/Q50375236" class="extiw external" title="d:Q50375236"><span class="indicateur-langue" title="Voir l'élément Wikidata correspondant">d</span></a>)</small>, Apple Interface Builder NIB archive (binary) <small>(<a href="https://www.wikidata.org/wiki/Q105867428" class="extiw external" title="d:Q105867428"><span class="indicateur-langue" title="Voir l'élément Wikidata correspondant">d</span></a>)</small> et Interface Builder Storyboard document <small>(<a href="https://www.wikidata.org/wiki/Q105852108" class="extiw external" title="d:Q105852108"><span class="indicateur-langue" title="Voir l'élément Wikidata correspondant">d</span></a>)</small></span></td>
</tr>

<tr>
<th scope="row"><a href="Format_de_donn%C3%A9es" title="Format de données">Formats</a> écrits</th>
<td>
<span class="wd_p1073">NIB File Format <small>(<a href="https://www.wikidata.org/wiki/Q50375236" class="extiw external" title="d:Q50375236"><span class="indicateur-langue" title="Voir l'élément Wikidata correspondant">d</span></a>)</small> et Interface Builder Storyboard document <small>(<a href="https://www.wikidata.org/wiki/Q105852108" class="extiw external" title="d:Q105852108"><span class="indicateur-langue" title="Voir l'élément Wikidata correspondant">d</span></a>)</small></span></td>
</tr>



<tr>
<th scope="row"> Type
</th>
<td>
Outil de développement d'interface graphique</td>
</tr>



<tr>
<th scope="row"><a href="Licence_de_logiciel" title="Licence de logiciel">Licence</a></th>
<td>
<a href="Logiciel_propri%C3%A9taire" title="Logiciel propriétaire">Logiciel propriétaire</a></td>
</tr>



<tr>
<th scope="row"><a href="Site_web" title="Site web">Site web</a></th>
<td>
<a rel="nofollow" class="external free" href="https://www.apple.com/">https://www.apple.com/</a></td>
</tr>

</tbody></table>
<p class="mw-empty-elt">

</p>
</div>
<p><b>Interface Builder</b> est un outil de développement d'interface graphique pour des applications tournant sur <a href="Mac_OS_X" class="mw-redirect" title="Mac OS X">Mac OS X</a>. Cet outil fait partie de <a href="Environnement_de_d%C3%A9veloppement_int%C3%A9gr%C3%A9" class="mw-redirect" title="Environnement de développement intégré">l'environnement de développement intégré</a> <a href="Xcode" title="Xcode">Xcode</a> (anciennement connu sous le nom de Projet Builder). Interface Builder permet aux développeur d'applications <a href="Cocoa_(Apple)" title="Cocoa (Apple)">Cocoa</a> et <a href="Carbon_(Mac_OS_X)" title="Carbon (Mac OS X)">Carbon</a> de créer des <a href="Interface_graphique" title="Interface graphique">interfaces graphiques</a> pour leurs programmes. Les interfaces graphiques générées grâce à Interface Builder sont contenues dans un fichier <b>.nib</b> (une abréviation pour désigner <i>NeXT Interface Builder</i>) ou plus récemment dans un fichier <b>.xib</b>.
</p><p>Interface Builder est le descendant de l'outil de développement du même nom créé pour <a href="NeXTSTEP" title="NeXTSTEP">NeXTSTEP</a>. Une version d'Interface Builder est aussi utilisée dans le développement d'applications <a href="OpenStep" title="OpenStep">OpenStep</a> et un outil très similaire nommé Gorm existe aussi pour <a href="GNUstep" title="GNUstep">GNUstep</a>. Le <time class="nowrap" datetime="2008-03-27" data-sort-value="2008-03-27">27 mars 2008</time>, une version d'Interface Builder spécialement conçue pour l'<a href="IPhone" title="IPhone">iPhone</a> est apparue avec la sortie du <i>iPhone SDK Beta 2</i>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Histoire">Histoire</h2></div>
<p>Interface Builder a fait sa première apparition en 1988 au sein de NeXTSTEP 0.8. Il a été inventé et développé par <a href="Jean-Marie_Hullot" title="Jean-Marie Hullot">Jean-Marie Hullot</a> et était à l'origine écrit en Lisp (pour le produit ExpertLisp de Expertelligence). Ce fut l'une des premières applications commerciales permettant de placer des éléments d'interfaces comme des <a href="Bouton_(informatique)" title="Bouton (informatique)">boutons</a>, des <a href="Menu_(informatique)" title="Menu (informatique)">menus</a> et des <a href="Fen%C3%AAtre_(informatique)" title="Fenêtre (informatique)">fenêtres</a> sur une interface à l'aide d'une souris. L'une des premières utilisations célèbres d'Interface Builder fut le développement du premier <a href="Navigateur_web" title="Navigateur web">navigateur web</a> (le <a href="WorldWideWeb" class="mw-redirect" title="WorldWideWeb">WorldWideWeb</a>) par <a href="Tim_Berners-Lee" title="Tim Berners-Lee">Tim Berners-Lee</a> au <a href="CERN" class="mw-redirect" title="CERN">CERN</a> sur une station de travail <a href="NeXT" title="NeXT">NeXT</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Design">Design</h2></div>
<p>Interface Builder fournit des <i>palettes</i>, ou collections, de <a href="Composant_d'interface_graphique" title="Composant d'interface graphique">widgets</a> aux développeurs <a href="Objective-C" title="Objective-C">Objective-C</a>. Ces composants d'interface graphique comprennent des objets comme des champs de texte, des tableaux, des ascenseurs, et des menus. Les palettes d'Interface Builder sont complètement extensibles, permettant ainsi à n'importe quel développeur de créer de nouveaux objets et d'ajouter des palettes à Interface Builder.
</p><p>Pour créer une interface, un développeur doit simplement faire glisser un objet de l'interface depuis la palette vers une fenêtre ou un menu. Des messages (<i>Actions</i>) que les objets peuvent émettre sont connectés à leurs cibles (<i>Targets</i>) dans le code de l'application et des pointeurs (<i>Outlets</i>) déclarés dans le code de l'application sont connectés à des objets spécifiques de l'interface. De cette manière, toute l'initialisation est réalisée avant l'exécution, améliorant ainsi les performances et simplifiant le processus de développement.
</p><p>Interface Builder sauvegarde l'interface d'une application dans un fichier qui contient les objets de l'interface et les relations avec ses objets utilisées dans l'application. Ces objets sont archivés (on parle aussi de <a href="S%C3%A9rialisation" title="Sérialisation">sérialisation</a>) dans un fichier <a href="XML" class="mw-redirect" title="XML">XML</a> ou dans un fichier de propriétés avec une extension <b>.nib</b>. Au lancement d'une application, les objets contenus dans le fichier .nib sont désarchivés, connectés au code binaire de l'application et exécutés. Contrairement à la majorité des outils de création d'interface graphique (à l'exception de <a href="Delphi_(langage)" title="Delphi (langage)">Embarcadero Delphi</a> et <a href="C%2B%2B_Builder" class="mw-redirect" title="C++ Builder">C++ Builder</a>) qui génère du code pour construire l'interface graphique, les fichiers <i>nib</i> sont souvent considérés comme lyophilisé car ils contiennent les objets archivés prêt à être exécutés. À partir de la version 3 d'Interface Builder, un nouveau format de fichier (avec l'extension <b>.xib</b>) a été ajouté. Ses fonctionnalités sont identiques à un fichier .nib mais il est stocké dans un <a href="Fichier_texte" title="Fichier texte">fichier texte</a> le rendant plus simple pour le stockage dans des <a href="Syst%C3%A8me_de_gestion_de_versions" class="mw-redirect" title="Système de gestion de versions">systèmes de gestion de version</a> et pour la manipulation par des outils comme <a href="Diff" title="Diff">diff</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Liens_externes">Liens externes</h2></div>
<ul><li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://developer.apple.com/tools/interfacebuilder.html">Description d'Interface Builder</a> pour le développement Cocoa et Carbon</li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://docs.sun.com/app/docs/doc/802-2110/6i63kq4sf?a=view">Documentation de Sun pour Interface Builder</a> pour le développement OpenStep</li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://developer.apple.com/documentation/Carbon/Conceptual/UnarchivingIOwithIBS/ibs_concepts/chapter_2_section_3.html">Documentation des fichiers Nib</a></li></ul>
<div class="navbox-container" style="clear:both;">

</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer skin-invert-image" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail d’<span class="lang-en" lang="en">Apple</span></span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des logiciels</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-01-26" href="https://fr.wikipedia.org/wiki/?title=Interface_Builder&amp;oldid=222423393">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>